
/**
 * ESPECIFICACIÓN: Hacemos que, cuando se cargue la página, se cargue también el plugin Validation de jQuery,
 * el cual permite controlar de forma rápida, sencilla y eficiente el control de errores de los campos de un
 * formulario. Este plugin muestra el mensaje correspondiente (de error o de acierto) cuando un campo recibe
 * el foco o cuando el usuario pulsa el botón correspondiente para enviar el fomulario
 **/
$(document).ready(function() {
var validator = $("#signupForm").bind("invalid-form.validate", function() {
	//Hacemos que el plugin muestre un mensaje, en la capa con id 'warningJquery', con el total de errores 
	//producidos al pulsar sobre el botón correspondiente de aceptar el formulario
	$("#warningJquery").html("Su formulario contiene " + validator.numberOfInvalids() + " errores. Por favor, revise los detalles.");
	$("#warning").css("display", "none"); 
	}).validate({
		//Hacemos que el elemento asociado al error sea la etiqueta 'em' (para así poder maquetar los mensajes
		//de error desde el css)
		errorElement: "em",

		//Indicamos al plugin que cuando los campos se introduzcan correctamente muestre el mensaje 'ok!'
		//y este mensaje sea maquetado mediante la clase 'success'
		success: function(label) {
			label.text("ok!").addClass("success");
		},

		//Indicamos las reglas correspondientes que se deben aplicar (las cuales ya están predefinidas en el plugin
		//correspondiente
		rules: {
			//el campo de 'usuario' es un campo obligatorio y con una longitud entre 3 y 12 carácteres
			user: {
				required: true,
				minlength:3,
				maxlength:12
			},

			//el campo de 'contraseña' es un campo obligatorio y con una longitud entre 6 y 12 carácteres
			pass: {
				required: true,
				minlength:6,
				maxlength:12
			},

			//el campo de 'confirmar contraseña' es un campo obligatorio, con al misma longitud que el password
			//y que debe ser igual que el valor introducido en el campo de 'contraseña'
			passConfirm: {
				required: true,
				minlength:6,
				maxlength:12,
				equalTo: "#pass"
			},

			//el campo de 'nombre' es un campo obligatorio y que debe tener una longitud mínima de 3 carácteres
			name: {
				required: true,
				minlength:3
			},

			//el campo de 'apellidos' es un campo obligatorio y que debe tener una longitud mínima de 3 carácteres
			surname: {
				required: true,
				minlength:3
			},

			//el campo de 'email' es un campo obligatorio y que debe tener el formato correspondiente
			email: {
				required: true,
				email: true
			},

			//el campo de 'pregunta secreta' es un campo obligatorio y que debe tener una longitud mínima de 10 carácteres
			secretQuestion: {
				required: true,
				minlength:10
			},

			//el campo de 'respuesta a la pergunta secreta' es un campo obligatorio y que debe tener una longitud mínima
			//de 10 carácteres
			secretAnswer: {
				required: true,
				minlength:10
			}
		}
	});
	//personalizamos los mensajes de error generados por el plugin
	jQuery.extend(jQuery.validator.messages, {
		required: "Este campo es obligatorio.",
		email: "Por favor, escribe una direcci&oacute;n de correo v&aacute;lida",
		minlength: jQuery.validator.format("Debes introducir {0} car&aacute;cteres como m&iacute;nimo."),
		maxlength: jQuery.validator.format("Debes introducir {0} car&aacute;cteres como m&aacute;ximo."),
		equalTo: "La confirmaci&oacute;n de la contrase&ntilde;a introducida no coincide",
	});   
});

function checkURL() {
	var divWarning = document.getElementById("warning");
	var url = document.URL;

	if (url.indexOf("exists=1") != -1) {
		divWarning.setAttribute("style", "display: inline");
		divWarning.innerHTML = "El usuario introducido ya existe. Puede recuperar su contrase&ntilde;a pulsando <A HREF='rescurePassword.jsp'>aqu&iacute;</A>";
		document.getElementById("user").focus();
	} else if (url.indexOf("exists=2") != -1) {
		divWarning.setAttribute("style", "display: inline");
		divWarning.innerHTML = "El email introducido ya existe. Puede recuperar su contrase&ntilde;a pulsando <A HREF='rescurePassword.jsp'>aqu&iacute;</A>";
		document.getElementById("email").focus();
	} else if (url.indexOf("exists=3") != -1) {
		divWarning.setAttribute("style", "display: inline");
		divWarning.innerHTML = "El usuario y el email introducidos ya existen. Puede recuperar su contrase&ntilde;a pulsando <A HREF='rescurePassword.jsp'>aqu&iacute;</A>";
		document.getElementById("user").focus();
	} else {
		divWarning.setAttribute("style", "display: none");
	}
}
